﻿/********************************************************************************
* Author:	Christos Polydorou	(xristos.polydoroy@gmail.com)					*
* Author:	Aris Michail		(aris.michail@gmail.com)						*
* Date:		22/9/2011															*
********************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Data.SqlClient;
using System.Configuration;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI.HtmlControls;

namespace WebApplication
{

    public partial class login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Label1.Text = "";
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            // Login button click
            if (Page.IsValid)
            {
                userLogin(this.TextBox1.Text.Trim(), this.TextBox2.Text.Trim());
            }

        }

        protected void userLogin(String username, String password)
        {
            DataClassesDataContext dc = new DataClassesDataContext();
            long retval = 0;
            try
            {
                retval = dc.userLogin(this.TextBox1.Text.Trim(), this.TextBox2.Text.Trim());
            }
            catch (Exception ex)
            {
                Exception ex2 = ex;
                HttpContext.Current.Session["message"] = "Η σύνδεση με την βάση δεδομένων απέτυχε.";
                return;
            }

            if (retval < 0)
            {
                if (retval == -1)
                    HttpContext.Current.Session["message"] = "Ο λογαριασμός σας δεν έχει ενεργοποιηθεί!";
                if (retval == -3)
                    HttpContext.Current.Session["message"] = "Ο λογαριασμός σας έχει κλειδωθεί λόγω πολλών αποτυχημένων προσπαθειών σύνδεσης. Θα ξεκλειδώσει σε λίγα λεπτά!";
                if (retval == -2)
                    HttpContext.Current.Session["message"] = "Λανθασμένος συνδυασμός ονόματος χρήστη και συνθηματικού!";
            }
            else
            {
                User usr =
                    (from u in dc.Users
                     where u.ID == retval
                     select u).Single();



                Session["username"] = usr.Username;
                Session["isValid"] = "true";
                Session["usertype"] = usr.Usertype;
                Response.Redirect("default.aspx");
            }
        }

        protected void TextBox2_TextChanged(object sender, System.EventArgs e)
        {

        }
    }
}